The present invention is related to titling or character generation for television, film, video and multimedia.
Character generators are systems that are used to add text, such as titles and credits, to video programs, such as a television, film, video and other multimedia programs. Titles often are designed to roll or crawl over a screen, commonly called scrolling. Other effects commonly are performed. Some character generators focus on providing real-time multichannel mixing of titling and video. Some provide more advance creative features which are not producible in real-time.
Most computer systems which render alphanumeric character strings, such as word processors or character generators generally represent the character string as a set of characters, for example by using a tree or an array. Each character is defined by a code that refers to a bit-mapped image or raster image of the character. Alternatively, the code may refer to a set of curves defining the outline of the character which is converted to a bit-map or raster image. The data structure representing the character string is processed to layout each character in a plane according to the font, the character metric, the character size and the spacing between characters. The characters are then drawn in the image by placing the image of the character at a designated position in the plane. The plane is then displayed, possibly with some spatial transformation. Because character generators generally use bit-mapped images or raster images of text to add characters to video, spatial transformations performed on the characters may result in visual artifacts that are undesirable, such as pixellation.
A character is represented in a character generator as a set of polygons and may be manipulated using three-dimensional animation techniques. A code for a character may be used to access a set of curves defining the outline of the character. This set of curves is transformed into a set of polygons. The set of polygons may be rendered as a three-dimensional object. The set of polygons may be created by converting the curves into sets of connected line segments and then tessellating the polygon defined by the line segments.
Animation properties may be represented using a normalized scale over time to allow animation to be provided in a manner that is independent of the spatial and temporal resolution of the video to which it is applied. Such animation may be applied to characters defined by a set of polygons. Various three-dimensional spatial transformations, lighting effects and other colorizations may be provided.
A user interface for editing a character string may provide two alternate displays. A first display allows a user to input and view any desired portion of the character string for the purpose of editing. A second display allows a user to view how the character string appears at a selected point in time during a titling effect for the purpose of animation. In both displays, the text is displayed in a three-dimensional form. This interface may be combined with a timeline editing interface for editing an associated video program, or other user interface, to permit layering of titling effects and adjustment of animation properties and timing.
Accordingly, in one aspect, a computer-implemented method and computer system generates a representation of an alphanumeric character as a set of polygons defining a surface of the alphanumeric character. An input providing an indication of a character code identifying the alphanumeric character is received. Curves defining an outline of the alphanumeric character are identified according to the character code. A set of polygons defining a surface of the alphanumeric character are generated from the identified curves for the character code.
In one aspect, a computer-readable medium has computer-readable signals stored thereon defining a data structure. The data structure defines a plurality of polygons having interconnected vertices and defining a surface of an alphanumeric character. This medium may be produced by the process described above for generating the set of polygons, and by storing the set of polygons on the computer-readable medium.
In another aspect, a method and computer system produces three-dimensional animation of alphanumeric characters. An input defining an outline of the alphanumeric character is received. Properties are associated with the character and a period of time defining three-dimensional attributes of the character over the period of time. A set of polygons defining a surface of the character is generated using the received outline and properties. The set of polygons is rendered according to the properties on a display over the period of time.
In one embodiment of these aspects, the set of polygons is generated by converting the curves into a set of connected line segments and tessellating the set of connected line segments to obtain the set of polygons.
In another aspect, a graphical user interface for defining three-dimensional alphanumeric character generation associated with a video program includes a timeline generator for displaying a timeline representing of a duration of the video program, and illustrating a track of the video program and a track for associated alphanumeric characters related in time to the video program. An input receives indications from the user regarding the duration and time sampling of title elements on the timeline.
In another aspect, a graphical user interface for displaying three-dimensional animated alphanumeric characters receives an indication of an alphanumeric character. In response to a receipt of an indication of an alphanumeric character, a set of polygons representing the alphanumeric character is generated according properties associated with the alphanumeric character. The set of polygons is rendered on a display.